#include <iostream>
#include <string>
#include <vector>
#include <unistd.h>
#include <pthread.h>
#include <cstdio>
#include <cstring>
#include <thread>

int flag=100;

void showtid(pthread_t &tid)
{
    printf("tid: 0x%lx\n", tid);
}

std::string FormatId(const pthread_t &tid)
{
    char id[64];
    snprintf(id,sizeof(id),"0x%lx",tid);
}

void *routine(void *args)
{

}

int main()
{
    pthread_t tid;
    int n=pthread_create(&tid,nullptr,routine,(void *)"thread-1");
    showtid(tid);

    while (true)
    {
        std::cout << "我是main线程：我的名字是：main thread" << ", pid: " 
        << FormatId(pthread_self()) <<",flag:"<<flag<< std::endl;
        sleep(1);
    }

    t.join();
    return 0;
}

// void hello()
// {
//     while (true)
//     {
//         std::cout << "新线程: hello world, pid: " << getpid() << std::endl;
//         sleep(1);
//     }
// }
// int main()
// {
//     std::thread t(hello);

//     while (true)
//     {
//         std::cout << "我是主线程..." << ", pid: " << getpid() << std::endl;
//         sleep(1);
//     }

//     t.join();
//     return 0;
// }

// void *routine(void *args)
// {
//     while (1)
//     {
//         std::cout << "我是一个新线程" << std::endl;
//         sleep(1);
//     }
// }

// int main()
// {

//     pthread_t tid;
//     int n = pthread_create(&tid, nullptr, routine, (void *)"thread-1");

//     while (1)
//     {
//         std::cout << "我是主线程" << std::endl;
//         sleep(1);
//     }

//     return 0;
// }